1. Field of the Invention
This application relates to network interfaces and more particularly to prefetching of data by network interfaces.
2. Description of the Related Art
In a typical networked computer system, the path of a data packet transmitted from a host to another host over the network includes several memories to temporarily hold the packet. Temporary storage is provided by the main memories of the hosts and memories located on the network interface cards (NICs). Unloading the main memories in strict First in First Out (FIFO) order can lead to a problem known as head-of-line blocking, which can result in reduced network throughput and increased forwarding time. Head-of-line blocking occurs when the next item to be unloaded (i.e. at the head of the line) cannot be unloaded because its destination is full. That blocks the other items behind the blocked item until the blocked item at the head of the line is finally unloaded.
It would be desirable to provide a network interface that avoids head-of-line blocking problems and more efficiently prepares data for transmission on a network with the goal to provide higher network throughput and lower network latency.